<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <script src="react-demos/build/react.development.js"></script>
        <script src="react-demos/build/react-dom.development.js"></script>
        <script src="react-demos/build/babel.min.js"></script>
    </head>
    <body>
        <div id="example"></div>
        <script type="text/babel">
        class Hello extends React.Component {
            constructor(props) {
                super(props)
                this.state = {
                opacity: 1.0
                };
            }
            componentDidMount() {
                this.timer = setInterval(function () {
                var opacity = this.state.opacity;
                opacity -= .05;
                if (opacity < 0.1) {
                    opacity = 1.0;
                }
                this.setState({
                    opacity: opacity
                });
                }.bind(this), 100);
            }
            render() {
                return (
                <div style={{opacity: this.state.opacity}}>
                    Hello {this.props.name}
                </div>
                );
            }
        }
        ReactDOM.render(
            <Hello name="world"/>,
            document.getElementById('example')
        );
        </script>
      </body>
</html>